// pub fn new_birthday_probability(n: u32) -> f64 {
//     // TODO: 这里写逻辑
//     todo!()
// }


// 生日悖论
pub fn new_birthday_probability(n: u32) -> f64 {
    // TODO: 这里写逻辑
    const DAYS: f64 = 365.0;
    if n < 2 {
        return 0.0;
    }
    // 计算所有人生日都不相同的概率
    let mut different_prob = 1.0;
    for i in 0..n {
        different_prob *= (DAYS - i as f64) / DAYS;
    }
    
    // 至少有两个人生日相同的概率 = 1 - 所有人生日都不相同的概率
    // 四舍五入到4位小数
    ((1.0 - different_prob) * 10000.0).round() / 10000.0
}
